<%@page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>开票系统</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <!--一定要注意这个静态页面的路径问题，这里的..是返回到上一级路径，再从上一级路径找-->
    <link rel="stylesheet" href="${PATH}/layui/css/layui.css" media="all">
    <%--设置table的行高--%>
    <style type="text/css">
        .layui-table-cell{
            height:18px;
            line-height: 18px;
        }

        /*
            设置layui的输入框的行高
        */
        .layui-form-label {
            padding: 5px 15px;
        }
        .layui-input, .layui-select, .layui-textarea {
            height: 30px;
            line-height: 30px\9;
        }
        .layui-form-select dl dd, .layui-form-select dl dt {
            line-height: 30px;
        }
        /*解决checkbox居中问题*/
        .layui-table-cell .layui-form-checkbox[lay-skin="primary"]{
            top: 50%;
            transform: translateY(-50%);
        }

    </style>
</head>
<body>
<table  style="font-size: 10px;" class="layui-hide" id="table1" lay-filter="test"></table>
<table  style="font-size: 10px;" class="layui-hide" id="table2" lay-filter="test1"></table>
<script type="text/html" id="toolbarDemo">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" lay-event="input">导入数据</button>
        <button id="hebing" class="layui-btn layui-btn-sm" lay-event="heBing">单据合并</button>
        <button id="chaifen" class="layui-btn layui-btn-sm" lay-event="chaiFen">单据拆分</button>
        <button id="delete" class="layui-btn layui-btn-sm" lay-event="delete">删除单据</button>
        <button id="setting" class="layui-btn layui-btn-sm" lay-event="setting">系统设置</button>
        <button id="erroradjust" class="layui-btn layui-btn-sm" lay-event="erroradjust">误差调整</button>
        <button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>
    </div>
</script>
<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>

<script src="${PATH}/layui/layui.js" charset="UTF-8"></script>
<script src="${PATH}/jquery/jquery-2.1.1.min.js"></script>
<script src="${PATH}/js/form.js"></script>
<%--<script src="${PATH}/layer/layer.js"></script>--%>
<!--还未成功！-->
<script>
    layui.use('table',function () {
        var table = layui.table;
        var mxbillCode = "";
        //记录明细的点击单号
        var billCodeDetail = "";
        //第一个实例
        table.render({
            elem: '#table1'
            ,url: '${PATH}/show/showBill' //数据接口
            ,toolbar:'#toolbarDemo'
            ,title:'订单总表'
            ,totalRow: true
            ,height:300
            , cols: [[ //表头
                {type:'checkbox',fixed: 'left'}
                , {field: 'id',title:'ID',width:60,unresize:true,type:'numbers',sort:true,fixed:'left',totalRowText: '合计'}
                , {field: 'billCode', title: '订单编号', width: 200, sort: true, fixed: 'left'}
                , {field: 'billType', title: '类型',edit: 'text', width: 60, fixed: 'left'}
                , {field: 'customName', title: '客户名称', width: 200,fixed:'left'}
                , {field: 'taxNum', title: '客户税号', width: 200}
                , {field: 'total', title: '含税总金额', width: 150,sort:true,totalRow: true}
                , {field: 'untotal', title: '未税总金额', width: 150, totalRow: true}
                , {field: 'taxAmount', title: '税额', width: 150, totalRow: true}
                , {field: 'addressTel', title: '客户地址电话', width: 200,totalRow:true}
                , {field: 'bankInfo', title: '银行信息', width: 200}
                , {field: 'note', title: '备注', width: 200}
                , {field: 'date', title: '单据日期', width: 200,sort:true}
                , {field: 'addNote', title: '附加信息', width: 135}
                , {fixed: 'right',title:'操作',toolbar:'#barDemo',width:150}
            ]]
            ,done: function (res, page, count) {
                var that = this.elem.next();
                res.data.forEach(function (item, index) {
                    if (item.isSix == '1') {//如果有6分钱误差，就显示为红色
                        var tr = that.find(".layui-table-box tbody tr[data-index='" + index + "']").css("background-color", "#FF0000");
                    }else if(item.isError == "1") {//如果有不符合计算关系，就显示为黄色
                        var tr = that.find(".layui-table-box tbody tr[data-index='" + index + "']").css("background-color", "#ffeb4f");
                    }else if(item.isRather =="1"){//如果超过了限额就显示为粉红色
                        var tr = that.find(".layui-table-box tbody tr[data-index='" + index + "']").css("background-color", "#ff37bc");
                    }
                });
            }
        });
        var hebing = function (x) {
            var x = x;
            layer.confirm("确定合并"+x+"单号？是否继续",{icon:3,title:'提示'},function (cindex) {
                $.ajax({
                    type : "GET",
                    url  : "${PATH}/show/hebing",
                    data : { billCode : x },
                    beforeSend : function () {
                        loadingIndex = layer.msg('正在合并单据，请稍候...', {icon: 16,time:false});
                    },
                    success : function (result) {
                        layer.close(loadingIndex);
                        //参数返回成功后重载表格
                        if (result.code = "0") {//注意这里的参数需要设置为String，因为返回的数据是json格式
                            table.reload('table1',{
                                 url: '${PATH}/show/showBill'
                                ,method: 'GET'
                            });
                        }else {
                            layer.msg("合并订单失败",{time:2000, icon:5, shift:6}, function(){

                            });
                        }

                    },
                    error:function (result) {
                        layer.msg("合并订单失败",{time:2000, icon:5, shift:6}, function(){

                        });
                    }

                });
                layer.close(cindex);
            })
        };

        //这里的obj是需要传进来一个layui的事件参数的
        var deletes = function(x,obj) {
            var x = x;
            var obj = obj;
            layer.confirm("确定删除"+x+"单号？是否继续",{icon:3,title:'提示'},function (index) {
                $.ajax({
                    type : "GET",
                    url  : "${PATH}/show/deletes",
                    data : { billCode : x },
                    success : function (result) {
                        //参数返回成功后重载表格
                        if (result.code == 0) {//注意这里的参数需要设置为String，因为返回的数据是json格式
                            table.reload('table1',{
                                url: '${PATH}/show/showBill'
                                ,method: 'GET'
                            });
                            table.reload('table2');
                            layer.msg("删除单据成功！");
                            layer.close(index);

                        }else if(result.code == 1){//这里还未写服务端的 trycatch的语句
                            layer.alert("删除订单失败",
                                {icon: 5,
                                title: "删除失败"});
                        }

                    },
                    error:function (result) {
                        layer.msg("删除订单失败，请检查网络设置",{time:2000, icon:5, shift:6}, function(){

                        });
                    }
                });
                layer.close(index);
            });
        };

        //校验客户是否有选择单据信息的js方法，单选
        var confirm = function(x, y) {
            var x = x;//传入的参数是校验长度的参数
            var y = y;//传入的参数是拼接字符串的参数
            if (x.length<1){
                layer.alert("请选择需要拆分的单据！");
                return false;
            }else {
                for(var i=0;i<x.length;i++){
                    y +=x[i].billCode+",";
                }
            }
        };


        //头工具栏事件
        table.on('toolbar(test)', function(obj){

            var checkStatus = table.checkStatus(obj.config.id);
            switch(obj.event){
                //单据合并事件
                case 'heBing':
                    var billCode = "";
                    var data = checkStatus.data;
                    if(data.length<2){
                        layer.alert("单据的数量小于2，不需要合并");
                        return;
                    }else {
                        for(var i=0;i<data.length;i++){
                            billCode +=data[i].billCode+",";
                        }
                    }

                    //因为这里需要全选合并，所以将其注释掉
                   /* for(var j = 0;j<data.length;j++) {
                        if(data[0].customName != data[j].customName) {
                            layer.alert("客户名称不同，不允许合并！");
                            return;
                        }
                    }*/

                    hebing(billCode);

                    //console.log(data);
                    //layer.alert(JSON.stringify(billCode));
                    break;
                case 'chaiFen':
                    var billCode = "";
                    var data = checkStatus.data;
                    if (data.length<1){
                        layer.alert("请选择需要拆分的单据！");
                        return;
                    }else {
                        for(var i=0;i<data.length;i++){
                            billCode +=data[i].billCode+",";
                        }
                    }
                    //TODO:做一个请选择明细的判断！
                    //拼接的是表单
                    var chai = pinjie();

                    layer.open({
                        title:'拆分设置',
                        type:1,
                        area:['350px','255px'],
                        scrollbar:false,
                        //content:$('#chaifentable'),
                        content:chai,
                        btn:['确认','取消'],
                        success:function () {
                            layui.use(['form', 'layedit', 'laydate'], function(){
                                var form = layui.form
                                    ,layer = layui.layer
                                    ,layedit = layui.layedit
                                    ,laydate = layui.laydate;
                                //回显的代码还可以再精简，先实现功能再谈优化
                                $.ajax({
                                    url: "${PATH}/setting/chaifen",//TODO:这是查询回显的数据，以后会根据user进行查询设置
                                    type: "post",
                                    success:function (result) {
                                        if(result.code == 0) {
                                            $("#huoqu").val(result.data.amount);
                                            if(result.data.mingxi=='true'){
                                                $("#mingxi").prop("checked",true);
                                                $("#shuilv").prop("checked",false);
                                                $("#huoqu").attr("disabled","disabled");
                                                $("#isTax1").prop("disabled", true);
                                                $("#isTax2").prop("disabled", true);
                                            }else if(result.data.shuilv=='true') {
                                                $("#shuilv").prop("checked",true);
                                                $("#mingxi").prop("checked", false);
                                                $("#huoqu").attr("disabled","disabled");
                                                $("#isTax1").prop("disabled", true);
                                                $("#isTax2").prop("disabled", true);
                                            }else {
                                                $('#huoqu').removeAttr("disabled");
                                                $("#isTax1").prop("disabled",false);
                                                $("#isTax2").prop("disabled",false);
                                                if (result.data.isTax == '1'){
                                                    $("#isTax1").prop("checked", true);
                                                    $("#isTax2").prop("checked", false);
                                                }else if (result.data.isTax == '0'){
                                                    $("#isTax2").prop("checked", true);
                                                    $("#isTax1").prop("checked", false);
                                                }

                                            }
                                            form.render('checkbox');
                                        }
                                    }

                                });
                                //form监听事件,表单在content中拼接也是可以触发这个事件
                                /***代码已省略***/
                                form.render();
                                //这里需要改进，代码太多太臃肿，参考erroradjust的事件
                                //此功能完美解决！日后就是一些样式的问题，比如说输入框不可输入的时候设置为灰色状态
                                form.on('checkbox(shuilv)', function(data){
                                    //console.log(data.elem.checked); //是否被选中，true或者false
                                    if (data.elem.checked ) {
                                        $("#huoqu").attr("disabled","disabled");
                                        $("#mingxi").prop("checked", false);
                                        $("#isTax1").prop("disabled", true);
                                        $("#isTax2").prop("disabled", true);
                                    }else if(data.elem.checked == false && $("#mingxi").prop("checked")==false) {
                                        $('#huoqu').removeAttr("disabled");
                                        $("#isTax1").removeAttr("disabled");
                                        $("#isTax2").removeAttr("disabled");
                                    }
                                    form.render('checkbox');
                                });

                                form.on('checkbox(mingxi)', function(data){
                                    //console.log(data.elem.checked); //是否被选中，true或者false
                                    if (data.elem.checked){
                                        $("#huoqu").attr("disabled","disabled");
                                        $("#shuilv").prop("checked", false);
                                        $("#isTax1").prop("disabled", true);
                                        $("#isTax2").prop("disabled", true);
                                    }else if(data.elem.checked == false && $("#shuilv").prop("checked")==false) {
                                        $('#huoqu').removeAttr("disabled");
                                        $("#isTax1").removeAttr("disabled");
                                        $("#isTax2").removeAttr("disabled");
                                    }
                                    form.render('checkbox');
                                });

                                //判断金额是否是含税金额的点击事件
                                form.on('checkbox(isTax1)', function (data) {
                                    if (data.elem.checked){
                                        $("#isTax2").prop("checked",false);
                                    }else {
                                        $("#isTax2").prop("checked",true);
                                    }
                                    form.render('checkbox');
                                });
                                form.on('checkbox(isTax2)', function (data) {
                                    if (data.elem.checked){
                                        $("#isTax1").prop("checked",false);
                                    }else{
                                        $("#isTax1").prop("checked",true);
                                    }
                                    form.render('checkbox');
                                });

                                return false;
                            });

                        },
                        yes: function (index, layero) {
                            var shuilv = "";
                            var mingxi = "";
                            var isTax = "";
                            var amount = $("#huoqu").val();
                            //console.log($("#huoqu").val());
                            if ($("#shuilv").prop("checked")) {
                                shuilv = 'true';
                                amount = '';
                            } else {
                                shuilv = 'false';
                            }
                            //给是否标记含税金额赋值
                            if($("#isTax1").prop("checked")){
                                isTax = '1';
                            }else {
                                isTax = '0';
                            }
                            //判断是否选中状态
                            if ($("#mingxi").prop("checked")) {
                                mingxi = 'true';
                                amount = '';//如果勾选了其他的，就将这个金额设置为空，方便以后增加功能
                                if(mxbillCode == ""){
                                    layer.alert("所选明细单号为空，请重新选择！",
                                        {icon: 5, title: "拆分失败"});
                                    return false;
                                } else if(billCode != mxbillCode){
                                    //console.log(billCode);
                                    layer.alert("所选明细单号与主表单号不同,或选择多张订单，请重新选择！",
                                        {icon: 5, title: "拆分失败"});
                                    return false;
                                }
                            } else {
                                mingxi = 'false';
                            }

                            $.ajax({//这里可以参考input.jsp的一些代码，直接利用form表单提交数据
                                url: "${PATH}/setting/update",
                                data: {amount: amount,shuilv: shuilv,mingxi: mingxi,
                                    billCode:billCode,billCodeDetail:billCodeDetail,
                                    isTax:isTax},
                                type: "post",
                                beforeSend : function () {
                                    loadingIndex = layer.msg('正在拆分单据中，请稍后...', {icon: 16,time:false});
                                },
                                success: function (result) {
                                    layer.closeAll();
                                    if(result.code == 0) {
                                        table.reload('table1');
                                        table.reload('table2');
                                        layer.closeAll();
                                        layer.msg(result.msg,{time:1000});
                                        //layer.close(loadingIndex);
                                    }else if(result.code == 1) {
                                        layer.closeAll();
                                        layer.alert("拆分单据失败,原因:"+result.msg);
                                    }

                                },
                                error : function (result) {
                                    layer.closeAll();
                                    layer.alert("连接服务器失败，请检查网络设置!");
                                }

                            });
                            //layer.closeAll();
                        }
                    });

                    break;
                case 'delete':
                    var billCode = "";
                    var data = checkStatus.data;
                    if(data.length<1){
                        layer.alert("请选择单据！");
                        return;
                    }else {
                        for(var i=0;i<data.length;i++){
                            billCode +=data[i].billCode+",";
                        }
                    }
                    deletes(billCode,obj);

                    break;
                case 'input':
                    var data = checkStatus.data;
                    //layer.msg('选中了：'+ data.length + ' 个');
                    layer.open({
                        title:'导入数据',
                        type:2,//类型是1，就是普通的展示String拼接的文件，类型是2就是发送请求的iframe框
                        //fix:false,
                        //maxmin:true,
                        area: ['340px', '400px'],
                        //skin: 'layui-layer-rim', //加上边框
                        content:'${PATH}/bill/input',
                        //btn: ['取消', '导入数据'],//效果不是很给力，给注释了
                        move:false,
                        success:function (layero,index) {
                            layer.iframeAuto(index);

                        },
                        end : function () {
                            //这里会进行跳转数据，但是最好是表单的重载，改一下
                            // TODO：改成表单的重载看下效果
                            //window.location.href = '${PATH}/bill/index';
                            table.reload('table1',{
                                url: '${PATH}/show/showBill'
                                ,method: 'GET'
                            });

                        },
                    });
                    break;
                case 'setting':
                    var sett = setting();
                    layer.open({
                        title:'系统设置',
                        type:1,
                        area:['330px','410px'],
                        scrollbar:false,
                        //content:$('#chaifentable'),
                        content:sett,
                        btn:['确认','取消'],
                        success:function (){
                            layui.use(['form', 'layedit', 'laydate'], function() {
                                var form = layui.form
                                    , layer = layui.layer
                                    , layedit = layui.layedit
                                    , laydate = layui.laydate;
                                var radios = "";
                                $.ajax({
                                    type:'get',
                                    async:true,
                                    url:'${PATH}/setting/system',
                                    success:function (result) {
                                        if (result.code == '0') {
                                            radios = result.data;
                                            $("input[name='skr']").val(result.data.skr);
                                            $("input[name='fhr']").val(result.data.fhr);
                                            $("input[name='taxRate']").val(result.data.taxRate);
                                            $("input[name='code']").val(result.data.code);
                                            $.each(radios.limitTypes,function (i,limitType) {

                                                if('c' == limitType.type){
                                                    //console.log(limitType.limit);
                                                    //动态显示前端设置的select的值
                                                    $("select[name='limit']").find('option[value='+limitType.select+']')[0].setAttribute("selected",'true');
                                                    form.render('select');
                                                }
                                            });
                                            form.render();
                                        }
                                    }
                                });
                                //得到radio选中的值
                                var radio = "c";

                                //每一次点击事件都会查询后台的设置数据
                                form.on('radio(radio)', function (data) {
                                    radio = data.value;
                                    $.ajax({
                                        type: 'get',
                                        url: '${PATH}/setting/queryLimitSetting?type=' + radio,
                                        success:function (result) {
                                            if (result.code==0) {
                                                var select = 'dd[lay-value=' + result.data.select + ']';
                                                $("select[name='limit']").siblings("div.layui-form-select").find('dl').find(select).click();
                                                form.render('select');
                                            }

                                        }
                                    });

                                });
                                //发生点击事件的时候，就会更新后台的值
                                form.on('select(select)', function (data) {
                                    $.ajax({
                                        url: '${PATH}/setting/updatelimit',
                                        type: 'post',
                                        data: {
                                            "select": data.value,
                                            "type": radio
                                        }
                                    });
                                    //console.log(data.value + "===" + radio);
                                });
                                return false;
                            });
                        },
                        yes:function (index, layero){
                            $.ajax({
                                url:'${PATH}/setting/preserve',
                                type:'post',
                                data:{
                                    "skr":$("input[name='skr']").val(),
                                    "fhr":$("input[name='fhr']").val(),
                                    "taxRate":$("input[name='taxRate']").val(),
                                    "code":$("input[name='code']").val()
                                },
                                beforeSend : function () {
                                    loadingIndex = layer.msg('正在保存系统设置...', {icon: 16,time:false});
                                },
                                success:function (result) {
                                    layer.close(loadingIndex);
                                    if (result.code == 0) {
                                        table.reload('table1');
                                        layer.closeAll();
                                        layer.msg(result.msg,{time:1000});
                                    }else if(result ==1) {
                                        layer.alert(result.msg,{time:1000});
                                    }
                                }
                            });
                        }

                    });
                    break;

                case 'erroradjust':
                    var error = erroradjust();
                    var billCode = "";//要传入的需要调整的订单号
                    var data = checkStatus.data;
                    if(data.length<1){
                        layer.alert("请选择单据！");
                        return;
                    }else {
                        for(var i=0;i<data.length;i++){
                            billCode +=data[i].billCode+",";
                        }
                    }
                    layer.open({
                        title:'误差调整',
                        type:1,
                        area:['340px'],
                        scrollbar:false,
                        content:error,
                        btn:['确认','取消'],
                        success:function () {
                            layui.use(['form', 'layedit', 'laydate'], function () {
                                var form = layui.form
                                    , layer = layui.layer
                                    , layedit = layui.layedit
                                    , laydate = layui.laydate;
                                form.render();
                                //数据的回显
                                var dataType = "";
                                var errorAdjusts = "";
                                $.ajax({
                                    url:"${PATH}/setting/erroradjust",//拆分路径
                                    type:"post",
                                    success:function (result) {
                                        if(result.code == 0) {
                                            $("input[name='amount']").val(result.data.amount);//回显金额
                                            dataType = result.data.amountType;
                                            $("input[name='amountType']").prop("checked", false);
                                            $("input[name ='amountType'][value =" + result.data.amountType + "]").prop("checked", true);//回显金额类型
                                            $("input[name=fixType]").prop("checked", false);
                                            for(var i =0;i < result.data.errorAdjusts.length;i++){//回显固定金额
                                                $("input[name=fixType][value=" + result.data.errorAdjusts[i].fixType + "]").prop("checked", true);
                                            }
                                            errorAdjusts = result.data.errorAdjusts;
                                            if ( $("input[name ='amountType'][value =" + result.data.amountType + "]").prop("checked")) {

                                                $("input[name=fixType][value="+ result.data.amountType + "]").prop("checked",false);
                                                $("input[name=fixType][value=" + result.data.amountType + "]").prop("disabled", "disabled");

                                            }
                                            //回显调整类型
                                            $("input[name=autoType][value="+result.data.autoType+"]").prop("checked",true);
                                            if($("input[name=autoType][value='1']").prop("checked")) {
                                                $("input[name ='amountType']").prop("disabled", "disabled");
                                                $("input[name ='fixType']").removeAttr("disabled");
                                                for(var i =0;i < result.data.errorAdjusts.length;i++){//回显固定金额
                                                    $("input[name=fixType][value=" + result.data.errorAdjusts[i].fixType + "]").prop("checked", true);
                                                }
                                                $("input[name='amount']").prop("disabled", "disabled");
                                            }

                                            form.render('checkbox');
                                        }
                                    }
                                });
                                //解决一些样式的问题，判断是自动调整还是手动调整
                                form.on('checkbox(autoType)',function (data) {
                                    //如果当前的value的值为选中状态，那么其他的两个值就要设置为非选中状态
                                    if (data.elem.id =="check1"){//自动调整
                                        $("input[name='amount']").prop("disabled","disabled");
                                        $("input[name='amountType']").prop("disabled",true);
                                        $("input[name='fixType']").removeAttr("disabled");
                                        for(var i =0;i < errorAdjusts.length;i++){//回显固定金额
                                            $("input[name=fixType][value=" + errorAdjusts[i].fixType + "]").prop("checked", true);
                                            //console.log(errorAdjusts[i].fixType + ",");
                                        }
                                        $("#check2").prop("checked",false);
                                        $("#check1").prop("checked",true);
                                    }else if (data.elem.id =="check2"){//手动调整
                                        $("input[name='amount']").removeAttr("disabled");
                                        $("input[name='amountType']").removeAttr("disabled");
                                        //$("input[name='fixType']").removeAttr("disabled");
                                        if ( $("input[name ='amountType'][value =" + dataType + "]").prop("checked")) {
                                            $("input[name=fixType][value="+ dataType + "]").prop("checked",false);
                                            $("input[name=fixType][value=" + dataType + "]").prop("disabled", "disabled");

                                        }
                                        $("#check1").prop("checked",false);
                                        $("#check2").prop("checked",true);
                                    }
                                    form.render('checkbox');
                                });
                                //固定金额的样式调整
                                form.on('checkbox(fixType)',function (data){

                                    if(data.elem.id == "checkf1"&&$("#checkf2").prop("checked")){//固定按钮1
                                        $("#checkf3").prop("checked", false);
                                    }else if(data.elem.id == "checkf2"&&$("#checkf3").prop("checked")) {
                                        $("#checkf1").prop("checked", false);
                                    }else if(data.elem.id == "checkf3"&&$("#checkf1").prop("checked")){
                                        $("#checkf2").prop("checked", false);
                                    }
                                    form.render('checkbox');
                                });

                                //金额类型
                                form.on('checkbox(amountType)',function (data) {
                                    //console.log(data.elem.id);
                                    //$("input[name='amountType']").removeAttr("disabled");

                                    $("input[name='amountType']").prop("checked",false);//将所有的值都设置为未选中状态
                                    //$("input[name='fixType']").prop("checked",false);
                                    $("input[id="+data.elem.id+"]").prop("checked",true);//将当前的值设置为选中状态

                                    for(var i =1;i<4;i++) {
                                        $("#checkf"+i).removeAttr("disabled");
                                        if(data.elem.id == 'box'+i) {
                                            $("#checkf"+i).prop("checked", false);
                                            $("#checkf"+i).prop("disabled", true);
                                        }
                                    }

                                    form.render('checkbox');
                                });
                                return false;
                            });
                            
                        },
                        yes:function (index,layero) {
                            //var amount = $("text[name = amount]").val();//获取金额
                            var amount = "";
                            var amountType = "";
                            var autoType = autoType = $("input[name='autoType']:checked").val();
                            ///如果name=amount的checkbox不是disabled才显示
                            if (!$("input[name = 'amountType']").prop("disabled")) {
                                amountType = $("input[name='amountType']:checked").val();
                                amount = $("input[name='amount']").val();
                                //console.log(amountType);
                            }
                            //var amountType = $("input[name= amountType][type = checkbox]:checked").val();//金额类型
                            //var autoType = $("input[name= autoType][type = checkbox]:checked").val();//自动调整还是手动调整
                            var fixType1= new Array();
                            $('input[name="fixType"]:checked').each(function(){
                                fixType1.push($(this).val());//向数组中添加元素
                            });
                            console.log(fixType1);
                            var fixType;
                            if(fixType1 == false){
                                fixType = "4";
                            }else {
                                fixType = fixType1.join(',');//将数组元素连接起来以构建一个字符串
                            }

                            $.ajax({
                                url:"${PATH}/setting/adjusterror",
                                type:"post",
                                data:{amount:amount,amountType:amountType,autoType:autoType,fixType:fixType,"billCode":billCode},
                                success:function (result) {
                                    if(result.code == '0') {
                                        table.reload('table1',{
                                            url: '${PATH}/show/showBill'
                                            ,method: 'GET'
                                        });
                                        layer.closeAll();
                                        layer.msg(result.data.msg,{time:1500,icon:1});
                                    }
                                }

                            });

                        }
                    });
                    break;
                case 'isAll':
                    layer.msg(checkStatus.isAll ? '全选': '未全选');
                    break;
            }
        });

        //监听行工具事件
        table.on('tool(test)', function(obj){
            var data = obj.data;
            var x = data.billCode;
            //console.log(obj)
            if(obj.event === 'del'){
                //删除当前的单据，js集中在函数中
                deletes(x, obj);
            } else if(obj.event === 'edit'){
                layer.prompt({
                    formType: 3
                    ,value: data.email
                }, function(value, index){
                    obj.update({
                        email: value
                    });
                    layer.close(index);
                });
            }
        });

        //table.reload("#table2")
        //监听行单击事件（单击事件为：rowDouble）
        table.on('row(test)', function(obj){
            var data = obj.data;
            var isRather = data.isRather;
            if (isRather == 1){
                layer.msg("单据金额超过限额，请设置限额或者拆分单据！" ,
                    {icon:5,time:2000}
                    );
            }
            billCodeDetail = "";
            table.render({
                elem: '#table2'
                ,url: '${PATH}/show/billDetail?billCode='+ data.billCode //数据接口
                //,toolbar:'#toolbarDemo'
                ,title:'订单明细表'
                ,totalRow : true
                ,height : 275
                ,cols: [[ //表头
                    {type:'checkbox',fixed: 'left'}
                    , {field: 'id',title:'ID',width:60,unresize:true,sort:true,fixed:'left',type:'numbers',totalRowText: '合计'}
                    , {field: 'billCode', title: '订单编号',unresize:true,width: 200, sort: true, fixed: 'left'}
                    , {field: 'name', title: '商品名称', width: 200,fixed:'left',totalRow:true}
                    , {field: 'quantity', title: '数量', width: 120,sort:true,totalRow: true}
                    , {field: 'untPrice', title: '未税单价', width: 100, sort: true,totalRow:true}
                    , {field: 'total', title: '含税金额', width: 150,totalRow:true}
                    , {field: 'untotal', title: '未税金额', width: 150,totalRow:true}
                    , {field: 'taxRate', title: '税率', width: 100,sort:true}
                    , {field: 'taxAmount',title:'税额',width:100,totalRow:true}
                    , {field: 'unt', title: '单位', width: 100,totalRow:true}
                    , {field: 'descript', title: '规格型号', width: 200}
                    , {field: 'goodsTaxNo',title:'税收编码',width:100}
                    , {field: 'kJE', title: '附加信息', width: 135}
                ]]
                //, page: true //开启分页
                //, limits: [5,10,20]//定义分页条件
                //, limit: 5 //每页默认的数量

            });
//            layer.alert(JSON.stringify(data), {
//            title: '当前订单号：'
            //标注选中样式
            obj.tr.addClass('layui-table-click').siblings().removeClass('layui-table-click');
            });

        //将点击选中的明细的订单信息传入到后台，在客户勾选了按明细信息拆分的时候
        //这里会有一个bug，也就是说在billCodeDetail选中取消的时候会多次重复记录数据
        table.on('checkbox(test1)', function (obj) {
            var data = obj.data.upid;
            mxbillCode = obj.data.billCode+",";
            if(obj.checked){
                billCodeDetail += data+",";
            }else{
                billCodeDetail = billCodeDetail.replace(data+",", "");
            }
//            console.log(data);
//            console.log(billCodeDetail);
//            console.log(mxbillCode);
        });

        });
</script>
</body>
</html>